package com.service.infoEntry.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.service.infoEntry.entity.CommentInfo;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class TransactionVo {
    /**
     * 问题id
     */
    private String id;
    /**
     * 问题单号
     */
    private String no;
    /**
     * 问题描述
     */
    private String desc;
    /**
     * 事务项目说明
      */
    private String programmeDesc;
    /**
     * 重要性:高(不解决无法使用) 中(暂时可通过规避方案使用) 低(待规划讨论)
     */
    private String importance;
    /**
     * 来源活动
     */
    private String sourceActivity;
    /**
     * 定位人员
     */
    private String positionUser;
    /**
     * 问题联系人
     */
    private String contact;
    private String programmeId;
    private String programmeName;
    /**
     * 问题提出时间
     */
    private Date transactionTime;
    /**
     * 问题状态:0-发现;1-定位;2-现网带缺陷闭环;3-挂起;4-正式闭环
     */
    private Integer status;
    private String statusStr;

    /**
     * 问题状态:0-公开;1-私密
     */
    private String transactionStatus;
    private String transactionStatusStr;

    /**
     * 紧急程度:1-紧急;0-不紧急;默认不紧急
     */
    private Integer isUrgency;
    private String isUrgencyStr;
    /**
     * 事务分类:需求，问题，事务(必选无默认)
     */
    private String type;
    /**
     * 客户名称
     */
    private String clientName;
    /**
     * 涉及的华为乾坤云服务
     */
    private String serviceInvolved;
    /**
     * 问题来源
     */
    private String origin;
    /**
     * 其他系统对接编号
     */
    private String otherSystemNo;
    /**
     * 问题进展
     */
    private String process;
    /**
     * 问题结论:0-待定位;1-需求;2-问题
     */
    private Integer conclusion;
    /**
     * 其余跟踪单号(如RM单号)
     */
    private String otherTrackingNo;
    /**
     * 提出问题的用户
     */
    private UserVo userVo;
    /**
     * 所属团队id
     */
    private String teamId;
    /**
     * 所属团队id
     */
    private String teamName;
    /**
     * 父问题单号
     */
    private String parentId;
    /**
     * 是否已被删除:1-已被删除;0-未被删除
     */
    private boolean isDeleted;

    private List<CommentInfo> commentInfoList;

    public String getStatusStr() {
        if(status != null)
        {
            switch (status)
            {
                case 0:
                    statusStr = "发现";
                    break;
                case 1:
                    statusStr = "定位";
                    break;
                case 2:
                    statusStr = "现网带缺陷闭环";
                    break;
                case 3:
                    statusStr = "挂起";
                    break;
                case 4:
                    statusStr = "正式闭环";
                    break;
                default:
                    break;
            }
        }
        return statusStr;
    }

    public String getTransactionStatusStr() {
        if(transactionStatus != null)
        {
            switch (transactionStatus)
            {
                case "0":
                    transactionStatusStr = "私密";
                    break;
                case "1":
                    transactionStatusStr = "公开";
                    break;
                default:
                    break;
            }
        }
        return transactionStatusStr;
    }
    public String getIsUrgencyStr() {
        if(null==isUrgency || 0==isUrgency)
        {
            return "不紧急";
        }else {
            return "紧急";
        }
    }
}
